package cn.zhpdmmz.service;

import cn.zhpdmmz.entity.CheckInformation;
import cn.zhpdmmz.vo.PaymentVo;
import cn.zhpdmmz.vo.DashboardVo;

import java.util.List;

/**
 * (CheckInformation)表服务接口
 *
 * @author CJW
 * @since 2022-04-04 13:53:31
 */
public interface ICheckInformationService {

    /**
     * 通过ID查询单条数据
     *
     * @param checkInformationId 主键
     * @return 实例对象
     */
    CheckInformation queryById(Integer checkInformationId);

    /**
     * 查询指定行数据
     *
     * @param checkInformation 筛选条件
     * @return 查询结果
     */
    List<CheckInformation> queryAll(CheckInformation checkInformation);

    /**
     * 新增数据
     *
     * @param checkInformation 实例对象
     * @return 实例对象
     */
    CheckInformation insert(CheckInformation checkInformation);

    /**
     * 修改数据
     *
     * @param checkInformation 实例对象
     * @return 实例对象
     */
    CheckInformation update(CheckInformation checkInformation);

    /**
     * 通过主键删除数据
     *
     * @param checkInformationId 主键
     * @return 是否成功
     */
    boolean deleteById(Integer checkInformationId);
    /**
     * 确认支付
     *
     * @param paymentVo
     * @return 是否成功
     */
    boolean confirmPayment(PaymentVo paymentVo);

    /**
     * 按顾客类别统计各类别入住人数
     * @return
     */
    List<DashboardVo> countByCustomerType();

    /**
     * 按房间类型id统计各类型订房数
     * @return
     */
    List<DashboardVo> countByTypeId();

}
